package encore.portal.config;

import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;

import javax.portlet.PortletMode;
import javax.portlet.WindowState;

import encore.log.Logger;
import encore.log.LoggerFactory;

public class ResourceConfig {

	private static final Logger logger=LoggerFactory.getLogger(ResourceConfig.class);
	
	private String portalName;
	private String portalVersion;
	private String containerName;
	private Set<String>   supportedPortletModes;
	private Set<String>   supportedWindowStates;
	private final Map portletApplications;
	
	private String containerVersion;
	
	public String getContainerVersion() {
		return containerVersion;
	}

	public void setContainerVersion(String containerVersion) {
		this.containerVersion = containerVersion;
	}

	private RenderConfig renderConfig;
	
	public ResourceConfig()
	{
		this.supportedWindowStates=new HashSet<String>();
		this.supportedPortletModes=new HashSet<String>();
	    this.portletApplications=new HashMap();
	}

	public String getPortalName() {
		return portalName;
	}

	public void setPortalName(String portalName) {
		this.portalName = portalName;
	}

	public String getPortalVersion() {
		return portalVersion;
	}

	public void setPortalVersion(String portalVersion) {
		this.portalVersion = portalVersion;
	}

	public String getContainerName() {
		return containerName;
	}

	public void setContainerName(String containerName) {
		this.containerName = containerName;
	}

	public Set<String> getSupportedPortletModes() {
		return supportedPortletModes;
	}

	public void setSupportedPortletModes(Set supportedPortletModes) {
		this.supportedPortletModes = supportedPortletModes;
	}

	public Set<String> getSupportedWindowStates() {
		return supportedWindowStates;
	}

	public void setSupportedWindowStates(Set supportedWindowStates) {
		this.supportedWindowStates = supportedWindowStates;
	}

	public RenderConfig getRenderConfig() {
		return renderConfig;
	}

	public void setRenderConfig(RenderConfig renderConfig) {
		this.renderConfig = renderConfig;
	}

	public Map getPortletApplications() {
		return portletApplications;
	}
	
	 public void addSupportedPortletMode(String mode) {
	        supportedPortletModes.add(mode);
	 }
	 
	    public void addSupportedWindowState(String state) {
	        this.supportedWindowStates.add(state);
	    }

	
}
